Many uses have arisen for distributed communication networks and systems, including viewing multimedia data such as documents, images, audio, and video from remote locations. Client-server systems operating over distributed networks have become a common solution for communicating information between people.
One such client-server system includes a multimedia server for distributing multimedia content to a number of clients. Generally, multimedia is provided by a server to clients using existing communication protocols such as the Transmission Control Protocol/Internet Protocol (TCP/IP), such as on the Internet. A number of clients execute a multimedia application program which allows the clients to view multimedia content provided by the server.
An example use for multimedia in communication networks is for multi-user systems such as distance learning and conferencing systems and other collaborative tools. These multi-user systems allow a number of users to interact and share multimedia resources, saving travel costs and leveraging existing corporate communication resources. A distributed multimedia communication application that provides real-time communication should address the problem of delivering time-sensitive, mission-critical information and training to a geographically dispersed workforce. In addition, an effective online training delivery environment would enable corporate professionals to learn at their desks, mobilizing skills that keep businesses competitive.
One problem existing in multi-user systems includes the synchronization of shared resources, such as a whiteboard that may be updated by participants in real time. Another problem is that media data takes different forms, such as audio, text, application data, and the like, which introduces additional complexity to a synchronization mechanism. Also, with the emergence of the publicly-available TCP/IP networks, such as the Internet, it would be beneficial for a program to be able to communicate over the Internet using available computer languages and communication protocols.